var combo_select_year = new Ext.form.ComboBox({
			xtype : 'combo',
			fieldLabel : '考核年度',
			hiddenName : 'checkYear',
			valueField : 'value',
			displayField : 'text',
			mode : 'local',
			store : new Ext.data.SimpleStore({ // 填充的数据
				fields : ["value", "text"],
				data : (function() {
					var years = [];
					for (var start = 2008, i = start; i < start + 10; i++) {
						var y = new Array(2);
						y[0] = i;
						y[1] = i + '年';
						years.push(y);
					}
					return years;
				})()
			}),
			value : new Date().getFullYear(),
			selectOnFocus : true,
			editable : false,
			allowBlank : false,
			width : 80,
			typeAhead : true,
			readOnly : true,
			triggerAction : 'all',
			loadingText : '加载中...',
			emptyText : '请选择考核年度',
			listeners : {
				'select' : function(combo, record, index) {
//					Ext.getBody().mask("数据加载，请稍等...","x-mask-loading"); 
					var root = goalcategoryTree.getRootNode();
					root.reload(); 
//					Ext.getBody().unmask();
				}
			}
		});
// //设置后台加载数据的url
var goalcategoryTreeLoader = new Ext.tree.TreeLoader({
	dataUrl : '/supervise/biz/goalcategory/getRoot.action?checkYear='
			+ new Date().getFullYear()
		// baseParams : {
		// checkYear : new Date().getFullYear()
		// }
	});
// //设置加载前的参数
// goalcategoryTreeLoader.on("beforeload", function(treeLoader, node) {
// //这里我传递了两个参数，一个是该节点的ID，一个是该节点显示的文本
// alert(node);
// alert(node.id + '|' + node.text);
// alert(combo_select_year.getValue());
// treeLoader.baseParams.checkYear = combo_select_year.getValue();
// if(node != null){
// treeLoader.baseParams.dataUrl =
// '/supervise/biz/goalcategory/getChildrenById.action';
// treeLoader.baseParams.nodeId = node.id;
// }
// });

// var root = new Ext.tree.AsyncTreeNode({
// id : "D1",
// text : "Name",
// href : "src.aspx",
// hrefTarget : "mainFrame",
// iconCls : "companyicon",
// loader : new Ext.tree.TreeLoader({
// url : "/supervise/biz/goalcategory/getRoot.action",
// listeners : {
// "beforeload" : function(treeloader, node) {
// treeloader.baseParams = {
// checkYear : new Date().getFullYear(),
// method : 'POST'
// };
// }
// }
// })
// });
var goalcategoryTree = new Ext.tree.TreePanel({
	id : 'tree-main',
	title : '指标目录',
	frame : true,
	region : 'center',
	border : false,
	rootVisible : false,
	autoScroll : true,
	firstLoad : true,
	loadMask : {
				msg : '数据加载中...'
			},
	tbar : [{
				text : '添加兄弟节点',
				iconCls : 'icon-add',
				handler : function(btn) {
					addNode('addNode');
				}
			}, '-', {
				text : '添加儿子节点',
				iconCls : 'icon-add',
				handler : function(btn) {
					addChildNode('addChildNode');
				}
			}, {
				text : '修改节点',
				iconCls : 'icon-edit',
				handler : function(btn) {
					editNode('editNode');
				}
			}, {
				text : '删除节点',
				iconCls : 'icon-del',
				handler : function(btn) {
					delNode('delNode');
				}
			},/*
				 * { text : '查看节点', iconCls : 'icon-search', handler:
				 * function(btn){ viewNode('viewNode'); } },
				 */{
				xtype : 'tbtext',
				text : '考核年度'
			}, combo_select_year, {
				xtype : 'tbfill'
			}],
	loader : goalcategoryTreeLoader,
	// loader : new Ext.tree.TreeLoader(),
	// loader : new Ext.tree.TreeLoader({
	// // dataUrl : '/supervise/js/tree-data-manager.json'
	// // dataUrl : '/supervise/biz/goalcategory/getRoot.action?checkYear=2009'
	// dataUrl : '/supervise/biz/goalcategory/getRoot.action',
	// // dataUrl : '/supervise/biz/goalcategory/getChildrenById.action',
	// baseParams: {checkYear: new Date().getFullYear()}
	// }),
	root : new Ext.tree.AsyncTreeNode()
		// root : root,
		// listeners : {
		// 'click' : function(node) {
		// // alert(node);
		// try {
		// var sn = this.selModel.selNode || {};
		// if (node.leaf && node.id != sn.id) {
		// // Ext.getCmp('content-panel').layout.setActiveItem(n.id.substring(0,
		// // n.id.indexOf('-')) + '-panel');
		// }
		// } catch (e) {
		// }
		// }
		// 'beforeload' : function(treeLoader, node) {
		// // var tree = treeLoader.ownerTree.title;
		// // var firstLoad = tree.firstLoad;
		// // alert(firstLoad);
		// // if(firstLoad){
		// // tree.firstLoad = false;
		// // }
		// // alert(treeLoader.getLoader() == treeLoader)
		// // return ;
		// // 这里我传递了两个参数，一个是该节点的ID，一个是该节点显示的文本
		// // alert(node);
		// // alert(node.id + '|' + node.text);
		// // alert(combo_select_year.getValue());
		// // alert(treeLoader.baseParams);
		// // treeLoader.ownerTree.baseParams.checkYear =
		// combo_select_year.getValue();
		// treeLoader.dataUrl =
		// '/supervise/biz/goalcategory/getChildrenById.action';
		// if (!Ext.isEmpty(node)) {
		// treeLoader.baseParams.nodeId = node.id;
		// }
		// }
		// }
	});
// 定义树的根节点
// var root = new Ext.tree.AsyncTreeNode({
// text: '考核目录',
// draggable:false,
// id:'-1'
// });

// 给树定义一个单击事件，其实本例中没什么用，俺这么写是为了调试方便，呵呵~~
goalcategoryTree.on('click', function(node, event) {
			// alert(this.loader.dataUrl);
//			 alert(node.text);
//			 alert('test' + node.fixed);
		});
// goalcategoryTree.setRootNode(root);
// goalcategoryTree.render();
// root.expand();

// goalcategoryTree.on("beforeload", function(node) {
// if (node.id.substr(0, 3) == "son") {
// node.loader = new Ext.tree.TreeLoader({
// dataUrl : "padp_appfunc_getSons.action",
// baseParams : {
// appfuncId : node.id.substr(3),
// href : '0'
// }
// });
// }
// });

goalcategoryTree.on('beforeload', function(node) {
	var checkYear = combo_select_year.getValue();
	if (!Ext.isNumber(checkYear)) {
		checkYear = new Date().getFullYear();
	}
	var nodeId;
	try {
		nodeId = parseInt(node.id);
	} catch (e) {
		nodeId = null;
	}
	if (Ext.isNumber(nodeId)) {
		this.loader.dataUrl = '/supervise/biz/goalcategory/getChildrenById.action?checkYear='
				+ checkYear + '&nodeId=' + node.id;
	} else {
		this.loader.dataUrl = "/supervise/biz/goalcategory/getRoot.action?checkYear=" + checkYear;
	}
		// var oldUrl = this.loader.dataUrl;
		// alert(oldUrl);
});
// 树形编辑器
//var treeEditer = new Ext.tree.TreeEditor(Ext.getCmp('tree-main'), {
//	id : 'tree-manage',
//	allowBlank : false
//		// 输入值不可以为空
//	});
// 弹出窗口
//var win = new Ext.Window({
////			maskDisabled : false,
//			id : 'tree-window',
//			modal : true,// 是否为模式窗口
//			constrain : true,// 窗口只能在viewport指定的范围
//			closable : true,// 窗口是否可以关闭
//			closeAction : 'hide',
//			layout : 'fit',
//			width : 300,
//			height : 200,
//			plain : true,
//			items : [{
//						id : 'tree-window-view',
//						border : false
//					}]
//		});

// 给tree添加事件
goalcategoryTree.on('rightClickCont', goalcategoryTree.rightClick,
		goalcategoryTree);

// 模块销毁函数
//function destroy() {
//	win.destroy();// 将win窗口销毁，否则在IE中会报错
//}

// 本例的主角，加载 tree TreePanel
// goalcategoryTree.setRootNode(root);
// goalcategoryTree.render(document.body);
// goalcategoryTree.expand(true, true);

// 定义右键菜单
var rightClick = new Ext.menu.Menu({
			id : 'rightClickCont',
			items : [{
						id : 'addNode',
						text : '添加',
						// 增加菜单点击事件
						menu : [{
									id : 'insertNode',
									text : '添加兄弟节点',
									handler : function(tree) {

										insertNode();
									}

								}, {
									id : 'appendNode',
									text : '添加儿子节点',
									handler : function(tree) {

										appendNodeAction();
									}
								}]
					}, '-', {
						id : 'delNode',
						text : '删除',
						handler : function(tree) {

							delNodeAction();
						}
					}, {
						id : 'modifNode',
						text : '修改',
						handler : function() {

							modifNodeAction()
						}
					}, {
						id : 'viewNode',
						text : '查看',
						handler : function(tree) {

							veiwNodeAction();
						}
					}]
		});
// 添加点击事件
goalcategoryTree.on('click', function(node) {
			if (node.id != 'root') {
				// alert(node.id);
//				alert('我是：' + node.text + ',我的id是' + node.id + '');
				
			}
		});

// 增加右键弹出事件
//goalcategoryTree.on('contextmenu', function(node, event) {// 声明菜单类型
//			event.preventDefault();// 这行是必须的，使用preventDefault方法可防止浏览器的默认事件操作发生。
//
//			node.select();
//			rightClick.showAt(event.getXY());// 取得鼠标点击坐标，展示菜单
//		});

// 添加兄弟节点事件实现
function insertNode() {
	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
	var selectedParentNode = selectedNode.parentNode;
	var newNode = new Ext.tree.TreeNode({
				text : '新建节点' + selectedNode.id
			});
	if (selectedParentNode == null) {
		selectedNode.appendChild(newNode);
	} else {
		selectedParentNode.insertBefore(newNode, selectedNode);
	}

	setTimeout(function() {
				treeEditor.editNode = newNode;
				treeEditor.startEdit(newNode.ui.textNode);
			}, 10);
};

// 添加子节点事件实现
function appendNodeAction() {
	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
	if (selectedNode.isLeaf()) {
		selectedNode.leaf = false;
	}
	var newNode = selectedNode.appendChild(new Ext.tree.TreeNode({
				text : '新建节点' + selectedNode.id
			}));
	newNode.parentNode.expand(true, true, function() {
				goalcategoryTree.getSelectionModel().select(newNode);
				setTimeout(function() {
							treeEditor.editNode = newNode;
							treeEditor.startEdit(newNode.ui.textNode);
						}, 10);
			});// 将上级树形展开
}
// 删除节点事件实现
function delNodeAction() {
	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
	// 得到选中的节点
	selectedNode.remove();
};
// 修改节点事件实现
function modifNodeAction() {

	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();// 得到选中的节点
	treeEditor.editNode = selectedNode;
	treeEditor.startEdit(selectedNode.ui.textNode);
};
// 查看事件实现
function veiwNodeAction() {
	var viewPanel = Ext.getCmp('tree-window-view');
	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
	// 得到选中的节点
	var tmpid = selectedNode.attributes.id;
	var tmpname = selectedNode.attributes.text;
	var tmpdes = selectedNode.attributes.des;

	win.setTitle(tmpname + '的介绍');
	win.show();

	var dataObj = {
		id : tmpid,
		name : tmpname,
		des : tmpdes
	}
	var tmpTpl = new Ext.Template([
			'<div style="margin:10px"><div style="margin:10px">序号:{id}</div>',
			'<div style="margin:10px">名称:{name}</div>',
			'<div style="margin:10px">描述:{des}</div></div>']);

	tmpTpl.overwrite(viewPanel.body, dataObj);

};
// add ,edit, view operate
//#########################################################################################################################################

var window_add_goalcategory = new Ext.Window({
	title : '添加目录结点',
	width : 320,
	resizable : false,
	autoHeight : true,
	modal : true,
	operateName : '',
	closeAction : 'hide',
	listeners : {
		'hide' : function() {
			this.setTitle('添加目录结点');
			Ext.getCmp("form_add_goalcategory").getForm().reset();
		}
	},
	items : [new Ext.FormPanel({
		id : 'form_add_goalcategory',
		border : false,
		baseCls : 'x-plain',
		bodyStyle : 'padding:5px 5px 0',
		labelAlign : 'right',
		labelWidth : 100,
		url : '/supervise/biz/goalcategory/saveGoalCategory.action',
		defaults : {
			anchor : '80%',
			msgTarget : 'side'
		},
		defaultType : 'textfield',
		items : [{
					xtype : 'hidden',
					name : 'goalCategory.id'
				}, {
					xtype : 'hidden',
					name : 'goalCategory.parentId' // 父节点id
				},{
					xtype : 'hidden', 
					name : 'goalCategory.isFixed',
					value : 'n'
				}, {
					fieldLabel : '指标目录名称',
					name : 'goalCategory.name',
					allowBlank : false,
					maxLength : 30
				}, {
					xtype : 'numberfield',
					fieldLabel : '指标目录项的分值',
					name : 'goalCategory.point',
					allowBlank : false,
					maxLength : 20
				}, {
					xtype : 'numberfield',
					fieldLabel : '排序',
					name : 'goalCategory.ordering',
					allowBlank : false,
					maxLength : 30
				}, {
					xtype : 'numberfield',
					fieldLabel : '指标目录和指标细则换算关系（％）',
					name : 'goalCategory.percent',
					maxLength : 30
				}, {
					fieldLabel : '目录项值',
					name : 'goalCategory.value',
					maxLength : 30
				}, {
					fieldLabel : '目录分类',
					name : 'goalCategory.tag',
					maxLength : 30
				}, {
					xtype : 'combo',
					fieldLabel : '考核责任单位',
					hiddenName : 'goalCategory.checkOrgId',
					valueField : 'id',
					displayField : 'name',
					mode : 'remote',
					store : ds_org_select,
					selectOnFocus : true,
					editable : false,
					allowBlank : true,
					triggerAction : 'all',
					loadingText : '加载中...',
					emptyText : '请选择部门'
				}, {
					xtype : 'combo',
					fieldLabel : '考核年度',
					hiddenName : 'goalCategory.year',
					mode : 'local',
					store : store_year,
					valueField : 'value',
					displayField : 'text',
					selectOnFocus : true,
					editable : false,
					allowBlank : false,
					readOnly : true,
					triggerAction : 'all',
					emptyText : '请选择考核年度'
				}, {
					fieldLabel : '指标目录id 路径',
					name : 'goalCategory.categoryIdPath',
					allowBlank : true
				}, {
					fieldLabel : '考核指标目录名称路径',
					name : 'goalCategory.categoryNamePath',
					allowBlank : true
				}, {
					xtype : 'combo',
					fieldLabel : '是叶子节点',
					hiddenName : 'goalCategory.isLeaf',
					editable : false,
					allowBlank : false,
					store : new Ext.data.SimpleStore({
								data : data_yn,
								fields : ['text', 'value']
							}),
					displayField : 'text',
					valueField : 'value',
					mode : 'local',
					triggerAction : 'all',
					emptyText : '请选择'
				}, {
					xtype : 'numberfield',
					fieldLabel : '节点层次',
					name : 'goalCategory.level',
					allowBlank : false,
					maxLength : 30
				
				},{
					xtype : 'combo',
					fieldLabel : '目录状态',
					name : 'user_status',
					hiddenName : 'goalCategory.status',
					editable : false,
					allowBlank : false,
					store : new Ext.data.SimpleStore({
								data : data_status,
								fields : ['text', 'value']
							}),
					displayField : 'text',
					valueField : 'value',
					mode : 'local',
					triggerAction : 'all',
					emptyText : '请选择'
				}],
		buttonAlign : 'right',
		minButtonWidth : 60,
		listeners : {
			'submit' : function() { 
				var frm =	Ext.getCmp("form_add_goalcategory");
				frm.baseParams.checkYear = combo_select_year.getValue();
			}
		},
		buttons : [{
			text : '添加',
			handler : function(btn) {
				var frm = Ext.getCmp("form_add_goalcategory").getForm();
				if (frm.isValid()) {
					btn.disable();
					var unfield = frm.findField('goalCategory.name');
					frm.submit({
						waitTitle : '请稍候',
						waitMsg : '正在提交表单数据,请稍候...',
						success : function(form, action) {
							//增加到tree中
							var newNode = new Ext.tree.TreeNode({
								id : action.result.id,
								text : form.findField('goalCategory.name').getValue(),
								leaf: ('y' ==  form.findField('goalCategory.isLeaf').getValue())
							});
							var addNode = (window_add_goalcategory.operateName  == 'addNode');
							if(addNode) {//增加结点
								var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
								var selectedParentNode = selectedNode.parentNode;
								if (selectedParentNode == null) {
									selectedNode.appendChild(newNode);
								} else {
									selectedParentNode.insertBefore(newNode, selectedNode);
								}
								setTimeout(function() {
											treeEditor.editNode = newNode;
											treeEditor.startEdit(newNode.ui.textNode);
										}, 10);
							} else {//增加子结点
								var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
								if (selectedNode.isLeaf()) {
									selectedNode.leaf = false;
								} 
								var currentNode = selectedNode.appendChild(newNode);
								currentNode.parentNode.expand(true, true, function() {
											goalcategoryTree.getSelectionModel().select(currentNode);
											setTimeout(function() {
														treeEditor.editNode = currentNode;
														treeEditor.startEdit(currentNode.ui.textNode);
													}, 10);
										});// 将上级树形展开
							}
							unfield.reset();
							btn.enable();
							window_add_goalcategory.hide();
						},
						failure : function() {
							Ext.Msg.show({
										title : '错误提示',
										msg : '"' + unfield.getValue() + '" '
												+ '名称可能已经存在!',
										buttons : Ext.Msg.OK,
										fn : function() {
											unfield.focus(true);
											btn.enable();
										},
										icon : Ext.Msg.ERROR
									});
						}
					});
				}
			}
		}, {
			text : '重置',
			handler : function() {
				Ext.getCmp("form_edit_goalcategory").getForm().reset();
			}
		}, {
			text : '取消',
			handler : function() {
				window_add_goalcategory.hide();
			}
		}]
	})]
});

//#########################################################################################################################################
var window_edit_goalcategory = new Ext.Window({
	title : '添加目录结点',
	width : 320,
	resizable : false,
	autoHeight : true,
	modal : true,
	closeAction : 'hide',
	listeners : {
		'hide' : function() {
			this.setTitle('修改目录结点');
		}
	},
	items : [new Ext.FormPanel({
				id : 'form_edit_goalcategory',
				border : false,
				baseCls : 'x-plain',
				bodyStyle : 'padding:5px 5px 0',
				labelAlign : 'right',
				labelWidth : 100,
				url : '/supervise/biz/goalcategory/saveGoalCategory.action',
				defaults : {
					anchor : '80%',
					msgTarget : 'side'
				},
				defaultType : 'textfield',
				items : [{
					xtype : 'hidden',
					name : 'goalCategory.id'
				}, {
					xtype : 'hidden',
					name : 'goalCategory.parentId' // 父节点id
				},{
					xtype : 'hidden', 
					name : 'goalCategory.isFixed',
					value : 'n'
				}, {
					fieldLabel : '指标目录名称',
					name : 'goalCategory.name',
					allowBlank : false,
					maxLength : 30
				}, {
					xtype : 'numberfield',
					fieldLabel : '指标目录项的分值',
					name : 'goalCategory.point',
					allowBlank : false,
					maxLength : 20
				}, {
					xtype : 'numberfield',
					fieldLabel : '排序',
					name : 'goalCategory.ordering',
					allowBlank : false,
					maxLength : 30
				}, {
					xtype : 'numberfield',
					fieldLabel : '指标目录和指标细则换算关系（％）',
					name : 'goalCategory.percent',
					maxLength : 30
				}, {
					fieldLabel : '目录项值',
					name : 'goalCategory.value',
					maxLength : 30
				}, {
					fieldLabel : '目录分类',
					name : 'goalCategory.tag',
					maxLength : 30
				}, {
					xtype : 'combo',
					fieldLabel : '考核责任单位',
					hiddenName : 'goalCategory.checkOrgId',
					valueField : 'id',
					displayField : 'name',
					mode : 'remote',
					store : ds_org_select,
					selectOnFocus : true,
					editable : false,
					allowBlank : true,
					triggerAction : 'all',
					loadingText : '加载中...',
					emptyText : '请选择部门'
				}, {
					xtype : 'combo',
					fieldLabel : '考核年度',
					hiddenName : 'goalCategory.year',
					mode : 'local',
					store : store_year,
					valueField : 'value',
					displayField : 'text',
					selectOnFocus : true,
					editable : false,
					allowBlank : false,
					readOnly : true,
					triggerAction : 'all',
					emptyText : '请选择考核年度'
				}, {
					fieldLabel : '指标目录id 路径',
					name : 'goalCategory.categoryIdPath',
					allowBlank : true
				}, {
					fieldLabel : '考核指标目录名称路径',
					name : 'goalCategory.categoryNamePath',
					allowBlank : true
				}, {
					xtype : 'combo',
					fieldLabel : '是叶子节点',
					hiddenName : 'goalCategory.isLeaf',
					editable : false,
					allowBlank : false,
					store : new Ext.data.SimpleStore({
								data : data_yn,
								fields : ['text', 'value']
							}),
					displayField : 'text',
					valueField : 'value',
					mode : 'local',
					triggerAction : 'all',
					emptyText : '请选择'
				}, {
					xtype : 'numberfield',
					fieldLabel : '节点层次',
					name : 'goalCategory.level',
					allowBlank : false,
					maxLength : 30
				
				},{
					xtype : 'combo',
					fieldLabel : '目录状态',
					name : 'user_status',
					hiddenName : 'goalCategory.status',
					editable : false,
					allowBlank : false,
					store : new Ext.data.SimpleStore({
								data : data_status,
								fields : ['text', 'value']
							}),
					displayField : 'text',
					valueField : 'value',
					mode : 'local',
					triggerAction : 'all',
					emptyText : '请选择'
				}],
				buttonAlign : 'right',
				minButtonWidth : 60,
				buttons : [{
					text : '修改',
					handler : function(btn) {
						var frm = Ext.getCmp("form_edit_goalcategory").getForm();
						if (frm.isValid()) {
							btn.disable();
							var unfield = frm.findField('goalCategory.name');
							frm.submit({
										waitTitle : '请稍候',
										waitMsg : '正在提交表单数据,请稍候...',
										success : function(form, action) {
											var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
											var oldName = selectedNode.text;
											var newName = form.findField('goalCategory.name').getValue();
											if(oldName != newName) {
												selectedNode.setText(newName);
											}
											selectedNode.leaf = ('y' ==  form.findField('goalCategory.isLeaf').getValue());
											frm.reset();
											btn.enable();
											window_edit_goalcategory.hide();
										},
										failure : function() {
											Ext.Msg.show({
														title : '错误提示',
														msg : '"'
																+ unfield
																		.getValue()
																+ '" '
																+ '名称可能已经存在!',
														buttons : Ext.Msg.OK,
														fn : function() {
															unfield.focus(true);
															btn.enable();
														},
														icon : Ext.Msg.ERROR
													});
										}
									});
						}
					}
				}, {
					text : '重置',
					handler : function() {
						Ext.getCmp("form_edit_goalcategory").getForm().reset();
					}
				}, {
					text : '取消',
					handler : function() {
						window_edit_goalcategory.hide();
					}
				}]
			})]
});

// 添加兄弟节点事件实现
function addNode() {
	var parentNodeId = null;
	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
	if(selectedNode == null){
		Ext.MessageBox.alert("提示", "请选择结点！");
		return false;
	}
	var selectedParentNode = selectedNode.parentNode;
	if(selectedParentNode != null) {
		parentNodeId = Ext.num(selectedParentNode.id, null);
	}
	window_add_goalcategory.show(this);
	window_add_goalcategory.center();
	window_add_goalcategory.operateName  = 'addNode';
	
	var frm = Ext.getCmp("form_add_goalcategory").getForm();
	// set value
//	frm.findField('goalCategory.id').setValue(record.get("id"));
	frm.findField('goalCategory.parentId').setValue(parentNodeId);
};

// 添加子节点事件实现
function addChildNode() {
	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
	if(selectedNode == null){
		Ext.MessageBox.alert("提示", "请选择结点！");
		return false;
	}
	var parentNodeId = selectedNode.id;
	window_add_goalcategory.show(this);
	window_add_goalcategory.center();
	window_add_goalcategory.operateName  = 'addChildNode';
	
	var frm = Ext.getCmp("form_add_goalcategory").getForm();
	// set value
//	frm.findField('goalCategory.id').setValue(record.get("id"));
	frm.findField('goalCategory.parentId').setValue(parentNodeId);
}
// 删除节点事件实现
function delNode() {
	// 得到选中的节点
	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
	if(selectedNode == null){
		Ext.MessageBox.alert("提示", "请选择结点！");
		return false;
	} else if(selectedNode.attributes.fixed == 'true') {
		Ext.MessageBox.alert("提示", "固定结点，不能删除！");
		return false;
	}	 
	Ext.Msg.confirm('确认删除', '你确定删除该结点?', function(btn) {
		if (btn == 'yes') {
			Ext.Ajax.request({
						url : '/supervise/biz/goalcategory/deleteGoalCategory.action',
						params : {
							nodeId : selectedNode.id
						},
						success : function() {
							selectedNode.remove();
						},
						failure : function() {
							Ext.Msg.show({
										title : '错误提示',
										msg : '删除时发生错误!',
										buttons : Ext.Msg.OK,
										icon : Ext.Msg.ERROR
									});
						}
					});
		}
	});

};
// 修改节点事件实现
function editNode() {
	var selectedNode = goalcategoryTree.getSelectionModel().getSelectedNode();
	if(selectedNode == null){
		Ext.MessageBox.alert("提示", "请选择结点！");
		return false;
	} else if(selectedNode.attributes.fixed == 'true') {
		Ext.MessageBox.alert("提示", "固定结点，不能修改！");
		return false;
	}
	var nodeId = selectedNode.id;
	window_edit_goalcategory.show(this);
	window_edit_goalcategory.center();
	//取得结点数据
	Ext.getBody().mask("数据加载，请稍等...","x-mask-loading"); 
	Ext.Ajax.request({
		url : '/supervise/biz/goalcategory/getNodeById.action',
		success : function(response, options) {
			Ext.getBody().unmask();
			var result = Ext.util.JSON.decode(response.responseText).entity;
			if (Ext.isObject(result)) {
				var frm = Ext.getCmp("form_edit_goalcategory").getForm();
				// set value
				frm.findField('goalCategory.id').setValue(result.id);
				frm.findField('goalCategory.name').setValue(result.name);
				frm.findField('goalCategory.point').setValue(result.point);
				frm.findField('goalCategory.ordering').setValue(result.ordering);
				frm.findField('goalCategory.percent').setValue(result.percent);
				frm.findField('goalCategory.value').setValue(result.value);
				frm.findField('goalCategory.isFixed').setValue(result.isFixed);
				frm.findField('goalCategory.tag').setValue(result.tag);
				frm.findField('goalCategory.checkOrgId').setValue(result.checkOrgId);
				frm.findField('goalCategory.year').setValue(result.year);
				frm.findField('goalCategory.categoryIdPath').setValue(result.categoryIdPath);
				frm.findField('goalCategory.categoryNamePath').setValue(result.categoryNamePath);
				frm.findField('goalCategory.isLeaf').setValue(result.isLeaf);
				frm.findField('goalCategory.level').setValue(result.level);
				frm.findField('goalCategory.status').setValue(result.status);
				frm.findField('goalCategory.parentId').setValue(result.ddd);
			}
		},
		failure : function() {
			Ext.getBody().unmask();
			window_edit_goalcategory.hide();
			Ext.Msg.alert('提示', '数据加载失败！');
		},
		params : {
			nodeId : nodeId
		}
	});
}  

var p_goalcategory = {
	id : 'goalcategory-panel',
	border : false,
	layout : 'border',
	items : [goalcategoryTree]
}
